/**
 * @date 2005-12-13 20:34:18
 *
 */
package org.nanhill.xsheet.output.excel;

import java.io.IOException;
import java.io.OutputStream;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.nanhill.xsheet.XSheetParseException;
import org.nanhill.xsheet.output.AbstractOutputBuilder;

/**
 * @author alin
 * 
 */
public abstract class ExcelOutputBuilder extends AbstractOutputBuilder {

	protected HSSFWorkbook workbook;

	public HSSFWorkbook getProduct() {
		return workbook;
	}

	public void write(OutputStream os) throws IOException {
		workbook.write(os);
	}

	protected abstract void buildWorkbook() throws XSheetParseException;

	protected abstract void buildStyle() throws XSheetParseException;

	protected abstract void buildPushCellSheet() throws XSheetParseException;

	protected abstract void buildFixedCellSheet() throws XSheetParseException;

}
